Obstacle Avoiding Robot একটি জনপ্রিয় প্রকল্প যা Arduino এবং বিভিন্ন সেন্সর ব্যবহার করে তৈরি করা হয়। এই রোবটটি একটি অটো-পাইলট সিস্টেমের মাধ্যমে বাধা এড়িয়ে চলতে সক্ষম। এটি রোবটিক্স এবং ইলেকট্রনিক্সের একটি বাস্তব উদাহরণ যা বিভিন্ন প্রযুক্তি একত্রিত করে।
নিচে একটি কোড উদাহরণ দেওয়া হলো যা Ultrasonic Sensor ব্যবহার করে বাধা শনাক্ত করে এবং রোবটটিকে সঠিকভাবে পরিচালনা করে।
#include <NewPing.h>
#define TRIG_PIN 9
#define ECHO_PIN 10
#define MAX_DISTANCE 200
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
#define MOTOR_A_IN1 3
#define MOTOR_A_IN2 4
#define MOTOR_B_IN1 5
#define MOTOR_B_IN2 6
void setup() {
pinMode(MOTOR_A_IN1, OUTPUT);
pinMode(MOTOR_A_IN2, OUTPUT);
pinMode(MOTOR_B_IN1, OUTPUT);
pinMode(MOTOR_B_IN2, OUTPUT);
}
void loop() {
delay(50); // সেন্সর ডেটার জন্য অপেক্ষা
unsigned int distance = sonar.ping_cm(); // দূরত্ব পরিমাপ করা
if (distance < 15 && distance > 0) { // যদি বাধা ১৫ সেন্টিমিটারের মধ্যে হয়
// রোবট পিছনে যাবে
moveBackward();
delay(500); // ৫০০ মিলিসেকেন্ড
turnLeft(); // বাঁ দিকে ঘুরবে
} else {
moveForward(); // বাধা না থাকলে সামনে চলবে
}
}
void moveForward() {
digitalWrite(MOTOR_A_IN1, HIGH);
digitalWrite(MOTOR_A_IN2, LOW);
digitalWrite(MOTOR_B_IN1, HIGH);
digitalWrite(MOTOR_B_IN2, LOW);
}
void moveBackward() {
digitalWrite(MOTOR_A_IN1, LOW);
digitalWrite(MOTOR_A_IN2, HIGH);
digitalWrite(MOTOR_B_IN1, LOW);
digitalWrite(MOTOR_B_IN2, HIGH);
}
void turnLeft() {
digitalWrite(MOTOR_A_IN1, LOW);
digitalWrite(MOTOR_A_IN2, HIGH);
digitalWrite(MOTOR_B_IN1, HIGH);
digitalWrite(MOTOR_B_IN2, LOW);
}
void turnRight() {
digitalWrite(MOTOR_A_IN1, HIGH);
digitalWrite(MOTOR_A_IN2, LOW);
digitalWrite(MOTOR_B_IN1, LOW);
digitalWrite(MOTOR_B_IN2, HIGH);
}
NewPing
লাইব্রেরি ব্যবহার করে রোবটের সামনে অবস্থিত বাধার দূরত্ব পরিমাপ করা হয়।moveForward()
, moveBackward()
, turnLeft()
, এবং turnRight()
.Obstacle Avoiding Robot প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্সের একটি বাস্তব উদাহরণ। এটি সেন্সর ডেটা ব্যবহার করে রোবটের কার্যক্রম পরিচালনা করতে শেখায় এবং মৌলিক প্রোগ্রামিং ধারণার প্রয়োগ করে।
common.read_more